создать через prisma nodejs api для создание записи

Создание API для создания записи с использованием Prisma и Node.js

Пример ниже демонстрирует, как создать REST API для добавления записи в базу данных с использованием Prisma и Node.js. Мы будем использовать Express.js для маршрутизации и Prisma для взаимодействия с базой данных.


1. Установка зависимостей

Сначала установите необходимые пакеты:

bash

npm init -y
npm install express prisma @prisma/client

Инициализируйте Prisma в вашем проекте:

bash

npx prisma init


2. Настройка Prisma Schema

В файле prisma/schema.prisma настройте модель данных. Например, создадим модель Post:

prisma

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite" // Или другой провайдер, например, PostgreSQL
  url      = "file:./dev.db"
}

model Post {
  id        Int      @id @default(autoincrement())
  title     String
  content   String
  createdAt DateTime @default(now())
}

После этого выполните миграцию для создания таблицы в базе данных:

bash

npx prisma migrate dev --name init


3. Создание API

Создайте файл index.js и настройте сервер Express.js:

javascript

const express = require('express');
const { PrismaClient } = require('@prisma/client');

const app = express();
const prisma = new PrismaClient();

app.use(express.json());

// Маршрут для создания записи
app.post('/posts', async (req, res) => {
  const { title, content } = req.body;

  try {
    const post = await prisma.post.create({
      data: {
        title,
        content,
      },
    });
    res.status(201).json(post);
  } catch (error) {
    res.status(500).json({ error: 'Ошибка при создании записи' });
  }
});

// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Сервер запущен на http://localhost:${PORT}`);
});


4. Тестирование API

Запустите сервер:

bash

node index.js

Используйте инструмент, например Postman или cURL, чтобы отправить POST-запрос на http://localhost:3000/posts с телом:

json

{
  "title": "Пример записи",
  "content": "Это содержимое записи"
}

Если всё настроено правильно, вы получите ответ с созданной записью.


5. Дополнительно

  • Вы можете использовать другие базы данных, такие как PostgreSQL, MySQL и т.д., изменив provider и url в schema.prisma 1.
  • Prisma автоматически генерирует типы для работы с данными, что упрощает разработку.

Теперь у вас есть базовый API для создания записей с использованием Prisma и Node.js!